package com.mes.schedule.domain;

import java.io.Serializable;

/**
 * @author Administrator
 * @version 1.0
 * @一次任务operationTask对设备device的预分配请求，分配结果写在preassignResul中
 */
public class DevicePreAssign  implements Comparable,  Serializable  {

	protected SOperationTask operationTask;
	protected SDevice device;
	//protected PreAssignResult  preAssignResult;
	
	protected float priority;
	protected int needCapability;
	
	protected double setupTime;
	protected double runTime;
	protected long costPerUnit;
	protected long costPerUnitOvertime;

	protected Float score;

	

	

	public Float getScore() {
		return score;
	}
	public void setScore(Float score) {
		this.score = score;
	}
	public DevicePreAssign(){

	}
	/**
	 * 
	 * @param obj
	 */
	public boolean equals(Object obj){
		return false;
	}
	

	
	/**
	 * @return the priority
	 */
	public float getPriority() {
		return priority;
	}
	/**
	 * @param priority the priority to set
	 */
	public void setPriority(float priority) {
		this.priority = priority;
	}
	/**
	 * @return the needCapability
	 */
	public int getNeedCapability() {
		return needCapability;
	}
	/**
	 * @param needCapability the needCapability to set
	 */
	public void setNeedCapability(int needCapability) {
		this.needCapability = needCapability;
	}
	/**
	 * @return the setupTime
	 */
	public double getSetupTime() {
		return setupTime;
	}
	/**
	 * @param setupTime the setupTime to set
	 */
	public void setSetupTime(double setupTime) {
		this.setupTime = setupTime;
	}
	/**
	 * @return the runTime
	 */
	public double getRunTime() {
		return runTime;
	}
	/**
	 * @param runTime the runTime to set
	 */
	public void setRunTime(double runTime) {
		this.runTime = runTime;
	}
	/**
	 * @return the costPerUnit
	 */
	public long getCostPerUnit() {
		return costPerUnit;
	}
	/**
	 * @param costPerUnit the costPerUnit to set
	 */
	public void setCostPerUnit(long costPerUnit) {
		this.costPerUnit = costPerUnit;
	}
	/**
	 * @return the costPerUnitOvertime
	 */
	public long getCostPerUnitOvertime() {
		return costPerUnitOvertime;
	}
	/**
	 * @param costPerUnitOvertime the costPerUnitOvertime to set
	 */
	public void setCostPerUnitOvertime(long costPerUnitOvertime) {
		this.costPerUnitOvertime = costPerUnitOvertime;
	}

//
//	public PreAssignResult getPreAssignResult() {
//		return preAssignResult;
//	}
//	public void setPreAssignResult(PreAssignResult preAssignResult) {
//		this.preAssignResult = preAssignResult;
//	}


	@Override
	public int compareTo(Object o) {
		// TODO Auto-generated method stub
		DevicePreAssign ta=(DevicePreAssign)o;
		return this.score.compareTo(ta.getScore());

	}
	public SDevice getDevice() {
		return device;
	}
	public void setDevice(SDevice device) {
		this.device = device;
	}


	

}